package Pacote2;

import grails.test.*
import les.*

class ReciboTests extends functionaltestplugin.FunctionalTestCase {
	
	void test_criacao_de_recibo_com_todas_informacoes_obrigatorias() {
		get ("/usuario/login")
		
		form() {
			email = "encontrosejc@gmail.com"
			senha = "123456"
			click "entrar"
		}
		
		get ("/recibo/create")
		
		form() {
			destinatario = "joao"
			valorRecebido = 200
			click "create"
		}
				
		assertContentContains "Recibo"
		assertContentContains "Recibo criado(a) com sucesso"
	}
	
	
	void test_fluxo_alternativo_de_criacao_com_valor_negativo(){
		get ("/usuario/login")
		
		form() {
			email = "encontrosejc@gmail.com"
			senha = "123456"
			click "entrar"
		}
		
		get ("/recibo/create")
		
		form() {
			destinatario = "joao"
			valorRecebido = -200
			click "create"
		}
		
		assertContentContains "O valor do campo Valor Recebido deve ser maior que zero.";
	}
	
	void test_criacao_com_sucesso_visualizar_recibo_gerado(){
		get ("/usuario/login")
		
		form() {
			email = "encontrosejc@gmail.com"
			senha = "123456"
			click "entrar"
		}
		
		get ("/recibo/create")
		
		redirectEnabled = false
		
		form() {
			destinatario = "joao"
			valorRecebido = 200
			click "create"
		}
		
		assertRedirectUrlContains "/recibo/show"
		followRedirect()
		redirectEnabled = true
		
		form(){
			click "_action_gerarRecibo"
		}
		
		assertContentContains "JOAO"
		assertContentContains "200"
	}
	
	
	
}